/*
        The directives starting with # below ensures that this file is read by the compiler only once
        even if it is #included several times. It is call an "include guard"
*/

/* This file (Order.h) is edited by MGM, A2 */

#ifndef ORDER_H_
#define ORDER_H_

//other types
#include "Date.h"                               //uncomment once you have added the type definition
#include "Time.h"                               //uncomment once you have added the type definition
#include <string>
#include <sstream>              // MGM, A.2
using namespace std;

struct Order {
public:
        //data

        // constructors
        Order ();

        //construction with parameters (MGM / A.2)
        Order(int orderID, int serverID, int tableID, Date orderDate, Time orderTime);

   // utility functions
        string display() const;

        //getter (MGM, A2)
        int getOrderID() const {return order_id;}
        int getServerID() const {return server_id;}
        int getTableID() const {return table_id;}
        Date getOrderDate() const {return order_date;}
        Time getOrderTime() const {return order_time;}

private:
   //constants

   // private data
        int order_id;
        int server_id;
        int table_id;
        Date order_date;        //uncomment once you have added the type definition
        Time order_time;  //uncomment once you have added the type definition
};


#endif //ORDER_H_
